package com.bluefox.hospital.service;

import com.bluefox.hospital.model.Doctor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

/**
 * DoctorService
 */
public interface DoctorService {

    /**
     * 根据ID获取资源
     *
     * @param id 资源实例ID
     * @return Id所指向的资源实例
     * @throws 当Id所指向的资源不存在时，抛CustomRuntimeException异常
     */
    Doctor get(Long id);

    /**
     * 创建
     *
     * @param model 资源实例
     * @return 创建后的对象
     */
    Doctor create(Doctor model);

    /**
     * 更新
     *
     * @param model 编辑后的资源实例
     * @return 修改后的对象
     */
    Doctor update(Doctor model);

    /**
     * 删除
     *
     * @param id 资源实例ID
     */
    void delete(Long id);
    /**
     * 根据 departmentId 分页查询Doctor
     * @param departmentId
     * @param pageable
     * @return Page<Doctor>
     */
    Page<Doctor> findByDepartmentId(Long departmentId, Pageable pageable);
}
